package idazkaria;

import hasiera_pantaila.DBKudeatzailea;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Font;

import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;

import administratzailea.EI_Idazkaria_sortu_1_1_1;
import administratzailea.EI_Idazkaria_sortuta_mezua_1_1_1_1;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.ResultSet;
import java.sql.SQLException;

public class EI_Faktura_sortu_1_3_7 extends JFrame {

	private JPanel kontuZnb;
	private JTextField izena;
	private JTextField lehenAbiz;
	private JTextField bigarrenAbiz;
	private JTextField nan;
	private JTextField helb;
	private JTextField atari;
	private JTextField solairu;
	private JTextField hizkia;
	private JTextField probintzia;
	private JTextField herria;
	private JTextField tlfn;
	private JTextField mobil;
	private JTextField email;
	private JTextField kontuZenb;
	private JTextField Euroak;
	private JTextField postakodea;
	private JTextField fakturaKod;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					EI_Faktura_sortu_1_3_7 frame = new EI_Faktura_sortu_1_3_7();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public EI_Faktura_sortu_1_3_7() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 626, 370);
		kontuZnb = new JPanel();
		kontuZnb.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(kontuZnb);
		kontuZnb.setLayout(null);
		
		JLabel lblIdazkariaSortu = new JLabel("TERAPIAREN FAKTURA SORTU:");
		lblIdazkariaSortu.setFont(new Font("Tahoma", Font.BOLD, 14));
		lblIdazkariaSortu.setForeground(Color.BLACK);
		lblIdazkariaSortu.setBounds(10, 11, 273, 14);
		kontuZnb.add(lblIdazkariaSortu);
		
		izena = new JTextField();
		izena.setBounds(48, 40, 183, 20);
		kontuZnb.add(izena);
		izena.setColumns(10);
		
		JLabel lblLehenengoAbizena = new JLabel("Lehenengo abizena");
		lblLehenengoAbizena.setBounds(10, 70, 127, 14);
		kontuZnb.add(lblLehenengoAbizena);
		
		lehenAbiz = new JTextField();
		lehenAbiz.setBounds(125, 71, 172, 20);
		kontuZnb.add(lehenAbiz);
		lehenAbiz.setColumns(10);
		
		JLabel lblBigarrenAbizena = new JLabel("Bigarren abizena");
		lblBigarrenAbizena.setBounds(10, 95, 105, 14);
		kontuZnb.add(lblBigarrenAbizena);
		
		JLabel lblIzena = new JLabel("Izena");
		lblIzena.setBounds(10, 43, 46, 14);
		kontuZnb.add(lblIzena);
		
		bigarrenAbiz = new JTextField();
		bigarrenAbiz.setBounds(125, 95, 172, 20);
		kontuZnb.add(bigarrenAbiz);
		bigarrenAbiz.setColumns(10);
		
		JLabel lblNana = new JLabel("NAN zenbakia");
		lblNana.setBounds(307, 43, 87, 14);
		kontuZnb.add(lblNana);
		
		nan = new JTextField();
		nan.setBounds(397, 40, 100, 20);
		kontuZnb.add(nan);
		nan.setColumns(10);
		
		JLabel lblHelbidea = new JLabel("Helbidea");
		lblHelbidea.setBounds(10, 120, 58, 14);
		kontuZnb.add(lblHelbidea);
		
		helb = new JTextField();
		helb.setBounds(74, 120, 223, 20);
		kontuZnb.add(helb);
		helb.setColumns(10);
		
		JLabel lblAtaria = new JLabel("Ataria");
		lblAtaria.setBounds(307, 123, 46, 14);
		kontuZnb.add(lblAtaria);
		
		atari = new JTextField();
		atari.setBounds(347, 120, 40, 20);
		kontuZnb.add(atari);
		atari.setColumns(10);
		
		JLabel lblSolairua = new JLabel("Solairua");
		lblSolairua.setBounds(397, 123, 58, 14);
		kontuZnb.add(lblSolairua);
		
		solairu = new JTextField();
		solairu.setBounds(449, 121, 40, 20);
		kontuZnb.add(solairu);
		solairu.setColumns(10);
		
		JLabel lblHizkia = new JLabel("Hizkia");
		lblHizkia.setBounds(499, 123, 46, 14);
		kontuZnb.add(lblHizkia);
		
		hizkia = new JTextField();
		hizkia.setBounds(541, 121, 23, 20);
		kontuZnb.add(hizkia);
		hizkia.setColumns(10);
		
		JLabel lblProbintzia = new JLabel("Probintzia");
		lblProbintzia.setBounds(10, 154, 58, 14);
		kontuZnb.add(lblProbintzia);
		
		probintzia = new JTextField();
		probintzia.setBounds(74, 151, 110, 20);
		kontuZnb.add(probintzia);
		probintzia.setColumns(10);
		
		JLabel lblHerria = new JLabel("Herria");
		lblHerria.setBounds(194, 154, 46, 14);
		kontuZnb.add(lblHerria);
		
		herria = new JTextField();
		herria.setBounds(240, 151, 100, 20);
		kontuZnb.add(herria);
		herria.setColumns(10);
		
		JLabel lblTelefonoa = new JLabel("Telefonoa");
		lblTelefonoa.setBounds(10, 192, 58, 14);
		kontuZnb.add(lblTelefonoa);
		
		tlfn = new JTextField();
		tlfn.setBounds(74, 189, 110, 20);
		kontuZnb.add(tlfn);
		tlfn.setColumns(10);
		
		JLabel lblMugikorra = new JLabel("Mugikorra");
		lblMugikorra.setBounds(194, 192, 58, 14);
		kontuZnb.add(lblMugikorra);
		
		mobil = new JTextField();
		mobil.setBounds(265, 189, 105, 20);
		kontuZnb.add(mobil);
		mobil.setColumns(10);
		
		JLabel lblEmailHelbidea = new JLabel("E-mail helbidea");
		lblEmailHelbidea.setBounds(380, 192, 92, 14);
		kontuZnb.add(lblEmailHelbidea);
		
		email = new JTextField();
		email.setBounds(475, 189, 125, 20);
		kontuZnb.add(email);
		email.setColumns(10);
		
		JButton btnGorde = new JButton("Inprimatu");
btnGorde.addActionListener(new ActionListener() { 
			
			protected boolean zerbaitIdatziDu(){
			return izena.getText().length() > 0 && lehenAbiz.getText().length() > 0 && bigarrenAbiz.getText().length() > 0 
	                    		&& nan.getText().length() > 0  &&  helb.getText().length() > 0 && atari.getText().length() > 0 && solairu.getText().length() > 0
	                    		&& hizkia.getText().length() > 0 && probintzia.getText().length() > 0 && herria.getText().length() > 0
	                    		&& tlfn.getText().length() > 0 && mobil.getText().length() > 0 && email.getText().length() > 0
	                    		  && postakodea.getText().length() >0;
	                    }
			public void actionPerformed(ActionEvent arg0) {
				 try
	                {
					 /*  
	    						  
	    				"" + Integer.parseInt(mobil.getText())+"','" + email.getText() +"','" + kontuZenb.getText() +"','" + Float.parseFloat(Euroak.getText()*/
	                    if (!zerbaitIdatziDu()){
	                      JOptionPane.showMessageDialog(null, "Ezin da eremua hutsik egon");
	                    }else if (!existitzenDa(nan.getText())  ){
	                    			// datubasean faktura berria bat txertatu
	                    			FakturaSortu(Integer.parseInt(fakturaKod.getText()),izena.getText(),lehenAbiz.getText(), bigarrenAbiz.getText(), nan.getText(), helb.getText(), 
	  	                        		 atari.getText(), Integer.parseInt(solairu.getText()), hizkia.getText(),
	  	                        		  probintzia.getText(), herria.getText(),Integer.parseInt(postakodea.getText()),
	  	                        		  Integer.parseInt(tlfn.getText()), Integer.parseInt(mobil.getText()),email.getText(),
	  	                        		kontuZenb.getText(), Float.parseFloat(Euroak.getText())) ;
	  	                        		  
	  	                        		  // "Ondo sartu duzu!" mezua bistaratu
	  	                        	 EI_Faktura_inprimatu_mezua_1_3_7_1 mezua=new EI_Faktura_inprimatu_mezua_1_3_7_1();
	  	                        	// hobeto eraikitzailean egitea	  
	  	                        	   mezua.setVisible(true);
	  	                        		   // uneko inprimakia izkutatu
	  	                        	EI_Faktura_sortu_1_3_7.this.setVisible(false);
	  	                   
	                   } // if
	                   
	                  } catch (Exception e){
	                    e.printStackTrace();
	                }
	        	} });
		btnGorde.setBounds(194, 288, 89, 23);
		kontuZnb.add(btnGorde);
		
		JButton btnAtzera = new JButton("Atzera");
		btnAtzera.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				EI_Bezeroaren_informazioa_maneiatu_1_3 bat=new EI_Bezeroaren_informazioa_maneiatu_1_3();
				bat.setVisible(true);
				EI_Faktura_sortu_1_3_7.this.setVisible(false);}
			});
		btnAtzera.setBounds(298, 288, 89, 23);
		kontuZnb.add(btnAtzera);
		
		JLabel lblTerapia = new JLabel("Kontu zenbakia");
		lblTerapia.setBounds(10, 227, 100, 14);
		kontuZnb.add(lblTerapia);
		
		kontuZenb = new JTextField();
		kontuZenb.setBounds(104, 224, 148, 20);
		kontuZnb.add(kontuZenb);
		kontuZenb.setColumns(10);
		
		JLabel lblKantitatea = new JLabel("Kantitatea");
		lblKantitatea.setBounds(275, 227, 78, 14);
		kontuZnb.add(lblKantitatea);
		
		Euroak = new JTextField();
		Euroak.setBounds(347, 224, 125, 20);
		kontuZnb.add(Euroak);
		Euroak.setColumns(10);
		
		JLabel label = new JLabel("\u20AC");
		label.setBounds(474, 227, 46, 14);
		kontuZnb.add(label);
		
		JLabel lblFakturaKodea = new JLabel("Faktura kodea");
		lblFakturaKodea.setFont(new Font("Tahoma", Font.BOLD, 14));
		lblFakturaKodea.setBounds(328, 11, 128, 14);
		kontuZnb.add(lblFakturaKodea);
		
		JLabel label_1 = new JLabel("Posta kodea");
		label_1.setBounds(357, 150, 74, 14);
		kontuZnb.add(label_1);
		
		postakodea = new JTextField();
		postakodea.setColumns(10);
		postakodea.setBounds(438, 148, 74, 20);
		kontuZnb.add(postakodea);
		
		JLabel label_2 = new JLabel("Adib: 11111111v");
		label_2.setBounds(505, 43, 95, 14);
		kontuZnb.add(label_2);
		
		fakturaKod = new JTextField();
		fakturaKod.setBounds(434, 10, 86, 20);
		kontuZnb.add(fakturaKod);
		fakturaKod.setColumns(10);
	}
	public boolean existitzenDa(String NAN) {
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k1 =("SELECT * FROM faktura WHERE NAN='"+NAN+"'");

		ResultSet rs =  dbk.execSQL(k1);
		try {
			rs.next();
			System.out.println(rs.getString(0));
			rs.close();
			System.out.println("aurkituta");
			return true;

		} catch (SQLException e) {
			System.out.println("ez aurkituta");
			return false;
		}
	}
	
	public void FakturaSortu(int a,String b, String c, String d, String e, String f, String g, int h, String i, String j, String l, 
			int n, int o, int z,String p, String q, float w )  {
	    
	   /*SD begiratuta: K1:
K1: INSERT INTO faktura (kodea, izena, lehenengoAbizena, bigarrenAbizena, NAN, helbidea, ataria, solairua, hizkia, probintzia, herria, postaKodea, telefonoa, mugikorra, email, terapiaKodea, kontuZnb, kantitatea )
VALUES(%kodea, %izena, %lehenengoAbizena, %bigarrenAbizena, %NAN, %helbidea, %ataria, %solairua, %hizkia, %probintzia, %herria, %postaKodea, %telefonoa, %mugikorra, %email, %terapiaKodea, %kontuZnb, %kantitatea)*/
		
		/*Table faktura

		=============

		fakturaKod, izena, lehenengoAbizena, bigarrenAbizena, NAN, helbidea, ataria, solairua, hizkia, probintzia, herria, postaKodea, telefonoa, mugikorra, email, kontuZnb, kantitatea

		-------------

		fakturaKod       int(11) PK

		izena            varchar(20)

		lehenengoAbizena varchar(20)

		bigarrenAbizena  varchar(20)

		NAN              varchar(20)

		helbidea         varchar(20)

		ataria           varchar(20)

		solairua         int(11)

		hizkia           varchar(20)

		probintzia       varchar(20)

		herria           varchar(20)

		postaKodea       int(11)

		telefonoa        int(11)

		mugikorra        int(11)

		email            varchar(20)

		kontuZnb         varchar(20)

		kantitatea       float*/


	    		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
	    		
	    	
	    		String k1 ="INSERT INTO faktura (`fakturaKod`,`izena`, `lehenengoAbizena`, `bigarrenAbizena`, `NAN`, `helbidea`, `ataria`, `solairua`, `hizkia`, `probintzia`, " +
	    				"`herria`, `postaKodea`, `telefonoa`, `mugikorra`, `email`, `kontuZnb`,`kantitatea`) " +
	    				"     VALUES ('" + Integer.parseInt(fakturaKod.getText())  + "','" + izena.getText()  + "', '" + lehenAbiz.getText() + "' , '"+ bigarrenAbiz.getText() +"','"+  nan.getText() +"', '" + helb.getText() +"', '" + atari.getText() +"'," +
	    						"" +"'" + Integer.parseInt(solairu.getText()) +"', '" + hizkia.getText() +"', '" + probintzia.getText() +"', '" + herria.getText() +"', '" + Integer.parseInt(postakodea.getText()) +"', '" + Integer.parseInt(tlfn.getText()) +"', " +
	    				"" + Integer.parseInt(mobil.getText())+"','" + email.getText() +"','" + kontuZenb.getText() +"','" + Float.parseFloat(Euroak.getText() +"')");		     
                				

	    	
	    			System.out.println("Ondo txertatu da");
	    			
	    		
	    		
	    		

	    }
}
